package com.bbcare.followup.plat.service;

import com.alibaba.fastjson.JSONObject;
import com.bbcare.followup.plat.entity.FollowQueue;
import com.bbcare.followup.plat.entity.Patient;
import com.bbcare.followup.plat.entity.PatientQueueScheme;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface IPatientSwitchService {

    //获得所有可用队列
    List<FollowQueue> getQueueList(String patientId);


    Patient getPatientInfo(String patientId) throws  Exception;

    //返回患者所有已加入队列
    String getJoinQueueName(String id);

    //获得问卷模板通用信息
    Map<String, Object> getPatientQuestion(String patientId) throws Exception;


    String getPatientTask(HashMap<String, Object> paramMap);

    //修改预诊状态
    void updatePreCheckStatus(String userId,String tenantId,String queueId,String deptId) throws Exception;

    void setExistQueue(Map<String, Object> retMap);

    public Map<String,Object> copyPatientFuData(final String srcTaskId, final Map<String,Object> targetDataMap);

    /**
     * 母乳分析仪查询。
     * @param key
     * @return
     */
    public List<Map<String,String>> queryBaby(final String key);

    public String backupMilkData(JSONObject jsonData);

    /**
     * 母乳分析仪发送。
     * @param paraMap
     */
    public int updateMilkData(final Map<String,String> paraMap);

    /**
     * 处理GY3Y的随访问卷内容，增加自动化的曾有诊断信息。
     * @param retMap
     * @param taskId
     * @throws Exception
     */
    public Map<String,Object> dealGy3yContent(Map<String, Object> retMap, final String taskId) throws Exception;

    public Map<String, Object> queryAllAnswerByPatient(final Map<String, Object> paraMap) throws Exception;
}
